package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.po.ProjFiles;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 项目附件表 视图
 *
 * @author code-generate
 * @date 2022-11-02
 */
@Data
@ApiModel(value = "ProjFiles 视图", description = "项目附件表 视图")
public class ProjFilesVO implements Serializable {
    /**
     * 自增id
     */
    private Integer id;

    /**
     * 文件ID
     */
    @ApiModelProperty(value = "文件ID")
    @Excel(name = "文件ID", orderNum = "0")
    private String fileId;

    /**
     * 文件名称
     */
    @ApiModelProperty(value = "文件名称")
    @Excel(name = "文件名称", orderNum = "0")
    private String fileName;

    /**
     * 文件路径
     */
    @ApiModelProperty(value = "文件路径")
    @Excel(name = "文件路径", orderNum = "0")
    private String fileUrl;

    /**
     * 文件类型编码 (0、图片，1、视频，2、音频，3、其他)
     */
    @ApiModelProperty(value = "文件类型编码 (0、图片，1、视频，2、音频，3、其他)")
    @Excel(name = "文件类型编码 (0、图片，1、视频，2、音频，3、其他)", orderNum = "0")
    private Integer fileTypeCode;

    /**
     * 文件大小
     */
    @ApiModelProperty(value = "文件大小")
    @Excel(name = "文件大小", orderNum = "0")
    private BigDecimal fileSize;

    /**
     * 数据类型（1 pdf, 2. excel, 3.word)
     */
    @ApiModelProperty(value = "数据类型（1 pdf, 2. excel, 3.word)")
    @Excel(name = "数据类型（1 pdf, 2. excel, 3.word)", orderNum = "0")
    private Integer dataType;

    /**
     * 项目ID
     */
    @ApiModelProperty(value = "项目ID")
    @Excel(name = "项目ID", orderNum = "0")
    private String projId;

    /**
     * 项目立项ID
     */
    @ApiModelProperty(value = "项目立项ID")
    @Excel(name = "项目立项ID", orderNum = "0")
    private String projInitId;

    /**
     * 项目阶段ID（对应各阶段的主表ID）
     */
    @ApiModelProperty(value = "项目阶段ID（对应各阶段的主表ID）")
    @Excel(name = "项目阶段ID（对应各阶段的主表ID）", orderNum = "0")
    private String projStageId;

    /**
     * 对应t_proj_stage_file_code表，项目阶段类型编码（proj_basic：项目基本信息，proj_situation_record：项目前期情况, proj_bid 招投标基本情况, proj_contract 项目合同信息, proj_plan 项目实施计划信息, proj_payment 项目支付进度信息, proj_audit 项目结算决算信息等
     */
    @ApiModelProperty(value = "项目阶段类型编码")
    @Excel(name = "项目阶段类型编码", orderNum = "0")
    private String projStageTypeCode;

    /**
     * 项目附件类型编码（对应各阶段的文件类型, 比如项目前期情况：会议纪要、立项批复）
     */
    @ApiModelProperty(value = "项目附件类型编码（对应各阶段的文件类型, 比如项目前期情况：会议纪要、立项批复）")
    @Excel(name = "项目附件类型编码（对应各阶段的文件类型, 比如项目前期情况：会议纪要、立项批复）", orderNum = "0")
    private String typeCode;

    /**
     * 项目附件类型名称（对应各阶段的文件类型）
     */
    @ApiModelProperty(value = "项目附件类型名称（对应各阶段的文件类型）")
    @Excel(name = "项目附件类型名称（对应各阶段的文件类型）", orderNum = "0")
    private String typeName;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人", orderNum = "0")
    private String dbCreateId;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人名称", orderNum = "0")
    private String dbCreateName;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dbCreateDate;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    @Excel(name = "修改人", orderNum = "0")
    private String dbLastUpdateId;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @Excel(name = "修改时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dbLastUpdateDate;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注", orderNum = "0")
    private String remark;

    /**
     * 排序号
     */
    @ApiModelProperty(value = "排序号")
    @Excel(name = "排序号", orderNum = "0")
    private Integer orderNum;

}

